package com.stars.module.setting.service;

import com.alibaba.fastjson2.JSONObject;
import com.stars.base.entity.CommonDTO;
import com.stars.base.exception.BaseException;
import com.stars.module.setting.entity.SystemDefine;

/**
 * @author : Rocks
 * @version : 1.0
 * @date : 2023/1/30 22:52
 * @description : 系统设置配置服务接口
 */
public interface SystemDefineService {

    /**
     * 根据查询条件加载系统设置配置列表
     * @author : Rocks
     * @date :  2023/2/26 21:11
     * @param dto 查询条件
     * @return JSONObject
     */
    JSONObject loadDefineList(CommonDTO dto);

    /**
     * 保存系统设置配置
     * @author : Rocks
     * @date :  2023/2/26 21:12
     * @param entity 系统设置配置实体
     * @return Result
     */
    boolean saveOrUpdate(SystemDefine entity) throws BaseException;

    /**
     * 获取系统设置配置最大排序
     * @author : Rocks
     * @date :  2023/2/26 21:10
     * @return int
     */
    int getMaxIndex();

    /**
     * 根据系统设置配置ID获取系统设置配置对象
     * @author : Rocks
     * @date :  2023/2/26 21:11
     * @param id 系统设置配置ID
     * @return SystemDefineEntity 系统设置配置对象实体
     */
    SystemDefine getDefineById(String id);

    /**
     * 删除系统设置配置
     * @author : Rocks
     * @date :  2023/2/26 21:11
     * @param id 要删除的系统设置配置ID
     * @return boolean true-成功 false-失败
     */
    boolean removeDefine(String id);

}
